package de.pdbm.swt.aufgabe3;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;

public class BestellungImpl implements Bestellung {

	Date datum;
	BigDecimal wert;
	Mitarbeiter mitarbeiter;
	List<Bestellposition> bestellpositionen = new ArrayList<Bestellposition>();
	String id;

	BestellungImpl(String id, Date datum, Mitarbeiter mitarbeiter,
			List<Bestellposition> bestellpositionen) {
		this.id = id;
		this.datum = datum;
		this.mitarbeiter = mitarbeiter;
		this.bestellpositionen = bestellpositionen;
		this.bestellpositionen = Collections
				.unmodifiableList(this.bestellpositionen);
		BigDecimal endwert = new BigDecimal(0.0);
		for (Bestellposition rofl : bestellpositionen) {
			endwert = endwert.add(rofl.getPreis());
		}
		this.wert = endwert; // TODO Berechnung hier auch??
	}

	public String getId() {
		return id;
	}

	public Date getDatum() {
		return datum;
	}

	public BigDecimal getWert() {
		BigDecimal endwert = new BigDecimal(0);
		for (Bestellposition rofl : bestellpositionen) {
			endwert = endwert.add(rofl.getPreis());

		}
		return endwert;
		// return wert;
	}

	public Mitarbeiter getMitarbeiter() {
		return mitarbeiter;
	}

	public List<Bestellposition> getBestellpositionen() {

		return bestellpositionen;

	}

}
